package main

import "fmt"

func main() {
	s:= "Hello世界"
	sHello := "Hello"
	sWorld := "世界"
	// len()获得的是 byte 字节的数量，一个中文占用3个字节
	fmt.Println(len(s))
	fmt.Println(len(sHello))
	fmt.Println(len(sWorld))
	
	for i := 0; i < len(s); i++ {
		fmt.Printf("%c ", s[i])
	}
	for _, c := range s {
		fmt.Printf("%c ", c) //%c 字符
	}

	s2 := "小白兔"
	s3 := []rune(s2)        //把字符串强制转成rune切片
	s3[0] = '大'             //注意 这里需要使用单引号的字符，而不是双引号的字符串
	fmt.Println(string(s3)) //把rune类型的s3强转成字符串

	c1 := "红"
	c2 := '红'                            
	fmt.Printf("c1的类型:%T c2的类型:%T \n", c1, c2) 
	c3 := "H"                            
	c4 := 'H'                            
	fmt.Printf("c3的类型:%T c4的类型:%T \n", c3, c4) 

	n1 := 10
	var f float64
	f = float64(n1)
	fmt.Printf("f的类型是：%T f的值是：%v\n", f,f)


}